Deploy Your Flask App to Kubernetes Using EKS

Running Locally and Containerization

Criteria Meet Specification

Has the student set up a Dockerfile correctly?

The Dockerfile should compile locally using Docker.

The Docker file should contain the correct commands.

The Docker file should contain the commands needed to install requirements and run the app using a Gunicorn server.

The Docker image should run and endpoints respond.

The image runs correctly and the three endpoints work as per the README instructions.

Has the student set the required environment variable?

The environment variable that is needed to run the app is correctly set in a file.

Using CodePipeline and CodeBuild to Deploy

Criteria Meet Specification

Has the student set the buildspec to use the variable JWT_SECRET from the parameter store?

The buildspec should tell CodeBuild to get the variable from the parameter store.

Has the student set default values in the CodePipeline template?

The default values for the EKS cluster name, GitHub source repo, GitHub user, and kubectl role should be set.

Has the student provided an external IP for their service?

The external IP is submitted by the student in the reviewer notes for the project.

Does the API successfully run from EKS?

Using the ELB url, the endpoints for the API respond as expected.

Setting Up CodeBuild to Run Test

Criteria Meet Specification

Has the student added running the tests to CodeBuild?

The appropriate lines have been added to the buildspec.yml file.